| 간략한 설명 | |
|---|---|
|
File: \examples\Processing\DebuggingAndTest\HardwareTest\HardwareTest.va |
![]() |
|
기본 플랫폼: mE5-MA-VCL |
|
|
간단한 설명 DMA, RAM, GPIO, Trigger 및 LED의 하드웨어 셀프 테스트를 위한 예제입니다. 이 예제는 parameters 라이브러리의 오퍼레이터를 광범위하게 사용합니다. |
|
Hardware Test 예제는 하드웨어 셀프 테스트를 수행합니다.
이 어플릿은 다음과 같은 기능을 포함합니다:
- DMA 성능 테스트: 다양한 메모리 크기 및 인터럽트 속도에 따른 다양한 이미지 크기
- RAM 테스트: 오류 및 처리 검사
- 카메라: 카메라 포트 이미지 취득 검사
- 카메라 Trigger: 카메라에 trigger 신호 전송
- GPIO: GPI 모니터링 및 GPO 설정
- 이벤트 테스트: 소프트웨어 콜백 이벤트 생성
- 모니터링: FPGA 온도, 전력, PoCL, ... (BoardStatus 참조)
다음 다이어그램은 어플릿의 기능 블록을 보여줍니다.
VisualApplets 구현은 두 개의 프로세스로 나뉩니다. Process0은 DMA 테스트, RAM 테스트, 카메라 취득을 포함한 모든 이미지 처리 부품을 포함합니다. 대신 Process1에는 실행 중인 취득과 무관한 부품들이 포함됩니다. DMA 오퍼레이터가 없는 프로세스는 어플릿이 로드될 때 즉시 시작되므로, 여기의 기능들은 취득과 무관하게 사용할 수 있습니다. 자세한 내용은 'Processes without DMAs / Trigger Processes'를 참조하십시오.
다음 두 개의 스크린샷은 Process0과 Process1을 보여줍니다.
어플릿을 쉽게 사용할 수 있도록 parameters 라이브러리의 오퍼레이터를 집중적으로 사용하여 구현되었습니다. H-Box 구현에는 기능 부품들이 포함됩니다. 파라미터는 분리된 보기를 위해 H-Box Parameters의 properties에 나열됩니다. 다음 스크린샷에서 볼 수 있듯이 사용하기 쉬운 파라미터만 나열되므로 microDisplay 등에서 어플릿을 사용할 때 유용합니다.
어플릿 구현은 직관적이며 VA 파일을 연구하여 쉽게 이해할 수 있습니다. 하지만 사용법을 이해하기 위해 일부 파라미터 변환 및 참조를 더 자세히 살펴보겠습니다.
메인 이미지 처리 파트에는 RAM 테스트, DMA 성능 테스트, 카메라 취득이 포함됩니다. 이 어플릿은 DMA 채널에서 한 번에 하나의 모드만 출력할 수 있도록 허용합니다. 따라서 여러 개의 SourceSelector 연산자가 사용됩니다. 올바른 입력 인덱스를 지정하는 매개변수화를 방지하기 위해, 간편한 사용을 위해 EnumParamTranslator 연산자를 사용합니다.
다음에서는 TranslateOutputSelect의 매개변수 값을 자세히 설명합니다.
먼저 열거형 값을 정의해야 합니다.
"DMA_Performance" = 0x001; "Camera" = 0x002; "RAM0_Difference" = 0x000; "RAM0_Errors" = 0x100; "RAM1_Difference" = 0x010; "RAM1_Errors" = 0x110; "RAM2_Difference" = 0x020; "RAM2_Errors" = 0x120; "RAM3_Difference" = 0x030; "RAM3_Errors" = 0x130;
보시는 바와 같이 열거형 값은 16진수로 정의되어 있습니다. 이를 통해 세 개의 SourceSelector 모듈에 쉽게 분배할 수 있습니다. 하위 4비트는 모듈 TestMode.SelectSource에, 4~7비트는 RAMTest/SelectRAM.SelectSource에, 8~11비트는 RAMTest/SelectRAMOutputMode/EnableBitpattern.SelectSource에 사용됩니다. 이는 매개변수 WriteAction과 ReadAction의 구현을 매우 단순화합니다.
그런 다음 변환된 값을 열거형 값과 함께 사용할 수 있습니다. 값을 변경하면 SourceSelector 모듈의 매개변수 값이 자동으로 변경됩니다.
H-Box GeneratorDMAPerformance에는 패턴 생성기와 출력 프레임 레이트를 제어하기 위한 이미지 밸브가 포함되어 있습니다. 패턴 생성은 빈 이미지 generator뿐만 아니라 픽셀 및 이미지 Counter를 사용하여 대각선 방향의 롤링 패턴을 매우 간단하게 생성합니다.
밸브는 주기 generator 연산자인 Generate에 의해 제어됩니다. generator의 단위는 틱(tick)으로 지정됩니다. 타임베이스로 프레임 레이트를 지정하고자 하므로, 변환 연산자 FloatParamTranslator를 사용합니다. 따라서 이 연산자를 사용하여 초당 프레임 수를 틱으로 변환합니다. 다음 스크린샷은 구현 내용을 보여줍니다.
연산자 IntParamTranslator를 사용하여 예제 HardwareTest에서 너비와 높이 설정하기
이전 섹션에서 보인 것과 동일한 절차가 이미지 너비와 높이에 대해 수행됩니다. 이 경우 IntParamTranslator 연산자를 사용할 수 있습니다. 여기서는 값을 디자인 내의 두 모듈로 직접 전달할 수 있습니다. 매개변수 DisplayName과 DisplayHierarchy에 지정된 값에 유의하십시오.






이전

